using System;
using System.Collections;
using System.Xml.Serialization;

using GURUCORE.Framework.Core.Data;

namespace GURUCORE.Framework.Business.DTO
{
	/// <summary>
	/// Summary for ParamDTO.
	/// </summary>
	[Serializable]
	[System.Diagnostics.DebuggerStepThrough]
	[PersistenceClass("System_Param","ParamGUID",true)]
	 public sealed partial class ParamDTO : DTOBase
	{
		public const string PARAMID_FLD = "ParamID";
		public const string PARAMGUID_FLD = "ParamGUID";
		public const string SCOPE_FLD = "Scope";
		public const string PARAMNAME_FLD = "ParamName";
		public const string PARAMVALUE_FLD = "ParamValue";
		public const string ISRESTRICT_FLD = "IsRestrict";
		public const string ALLOWACCESSLIST_FLD = "AllowAccessList";

		private int m_nParamID;
		private object m_oParamGUID;
		private string m_sScope;
		private string m_sParamName;
		private string m_sParamValue;
		private bool m_bIsRestrict;
		private string m_sAllowAccessList;

		public ParamDTO()
		{
		}
		
		[PersistenceProperty("ParamID",false,false)]
		public int ParamID
		{
			get
			{
				return m_nParamID;
			}
			set
			{
				m_htIsNull["ParamID"] = false;
				m_nParamID = value;
			}
		}
		
		[PersistenceProperty("ParamGUID",true,true)]
		public object ParamGUID
		{
			get
			{
				return m_oParamGUID;
			}
			set
			{
				m_htIsNull["ParamGUID"] = false;
				m_oParamGUID = value;
			}
		}
		
		[PersistenceProperty("Scope",false,false)]
		public string Scope
		{
			get
			{
				return m_sScope;
			}
			set
			{
				m_htIsNull["Scope"] = false;
				m_sScope = value;
			}
		}
		
		[PersistenceProperty("ParamName",false,false)]
		public string ParamName
		{
			get
			{
				return m_sParamName;
			}
			set
			{
				m_htIsNull["ParamName"] = false;
				m_sParamName = value;
			}
		}
		
		[PersistenceProperty("ParamValue",false,false)]
		public string ParamValue
		{
			get
			{
				return m_sParamValue;
			}
			set
			{
				m_htIsNull["ParamValue"] = false;
				m_sParamValue = value;
			}
		}
		
		[PersistenceProperty("IsRestrict",false,false)]
		public bool IsRestrict
		{
			get
			{
				return m_bIsRestrict;
			}
			set
			{
				m_htIsNull["IsRestrict"] = false;
				m_bIsRestrict = value;
			}
		}
		
		[PersistenceProperty("AllowAccessList",false,false)]
		public string AllowAccessList
		{
			get
			{
				return m_sAllowAccessList;
			}
			set
			{
				m_htIsNull["AllowAccessList"] = false;
				m_sAllowAccessList = value;
			}
		}

		public string IsNullSerializedString
		{
			get
			{
				return GetIsNullSerializedString();
			}
			set
			{
				SetIsNullSerializedString(value);
			}
		}
	}
}
